[codex] Remove async_trait from ToolExecutor#27304
Merged
Merged
Conversation
637d93b to
c8718d2
Compare
0374251 to
7178ab0
Compare
c8718d2 to
039d199
Compare
7178ab0 to
ab6243a
Compare
anp-oai
commented
Jun 10, 2026
5d2045a to
082c606
Compare
ab6243a to
48ebdd0
Compare
anp-oai
commented
Jun 10, 2026
082c606 to
d41f9c4
Compare
48ebdd0 to
4c027c9
Compare
jif-oai
approved these changes
Jun 10, 2026
4c027c9 to
4515525
Compare
01a4245 to
dfb5c0c
Compare
4515525 to
d8d2d9e
Compare
Base automatically changed from
codex/outline-standalone-tool-executor-handlers
to
main
June 10, 2026 16:40
07ec283 to
18dee87
Compare
18dee87 to
fffd003
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
We're now discouraging use of
async_trait.Removing use of
async_traitfromToolExecutoryields acodex_coredebug test build speedup of ~78% (from 227.5s to 50.3s) on my machine.Stacked on #27299, this PR applies the trait change after the handler bodies have been outlined.
What
Changed
ToolExecutor::handleto return an explicit boxedToolExecutorFutureinstead of usingasync_trait.Updated ToolExecutor implementors to return
Box::pin(...), reexported the future alias throughcodex-toolsandcodex-extension-api, and removedcodex-toolsdirectasync-traitdependency.